1715 카드 정렬하기 {boj}
- aliases
- No value
- tags
- No value
- description
- No value
- title
- 1715 카드 정렬하기 {boj}
- created
- 2023-08-19T18:42:34
- updated
- 2023-08-19T18:43:05
TL;DR
작은 놈들부터 묶으면 비교 횟수가 줄어든다
source code
from typing import List
from heapq import heapify, heappush, heappop
from sys import stdin
def sol1(ls: List[int]) -> int:
heapify(ls)
res = 0
while len(ls) > 0:
pack1 = ls[0]
heappop(ls)
if len(ls) == 0:
break
pack2 = ls[0]
heappop(ls)
newpack = pack1 + pack2
res += newpack
heappush(ls, newpack)
return res
if __name__ == "__main__":
n = int(stdin.readline().strip())
ls = [int(stdin.readline().strip()) for _ in range(n)]
print(sol1(ls))